package com.javasm.adminapi.module.product1.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.javasm.adminapi.common.RedisKeys;
import com.javasm.adminapi.module.product1.dao.GgGoodsTypeDao;
import com.javasm.adminapi.module.product1.entity.GgGoodsType;
import com.javasm.adminapi.module.product1.service.GgGoodsTypeService;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;
import java.util.concurrent.TimeUnit;

/**
 * 商品管理-商品类型表(GgGoodsType)表服务实现类
 *
 * @author makejava
 * @since 2025-10-16 11:26:35
 */
@Service("ggGoodsTypeService")
public class GgGoodsTypeServiceImpl extends ServiceImpl<GgGoodsTypeDao, GgGoodsType> implements GgGoodsTypeService {


    @Resource
    RedisTemplate<String,List<GgGoodsType>> redisTemplate;
    @Override
    public List<GgGoodsType> listWithRedis() {
        String key = String.format(RedisKeys.Typelist,"list");
        //从Redis中拿

        List<GgGoodsType> list = redisTemplate.opsForValue().get(key);
        //如果没有查询到
        if (list==null){
            //从数据库中查
            list = list();
            //存到redis中 存三天
            redisTemplate.opsForValue().set(key,list,3, TimeUnit.DAYS);
        }
        return list;
    }
}

